﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace GeneratorLibrary.Client.Base {
    public interface IClientFactory {
        BaseDAC NewClassGenDAC(string connectionString, string schema);
        ClassBase NewDataClass(DataTable dt, string table, string classNamespace, string dacNamespace, string dacName);
        string getEmpeddedResourceOutputDAC_Path();
        string GetConnectionString(string server, string schema);
        string GetConnectionString(string server, string schema, string user, string password);
        string CatalogSchema { 
            get; 
        }
        List<CrudTableBase> GetCrudTables(DataTable dt);

        bool AllowsRunningScripts { get; }

        string GetGOStatement();

        string GetDefaultDACName(string server, string db);

        bool ConnectionSupportsCreateProcs { get; }
    }
}
